#ifndef ARM_CONTROL__ARM_ACTION_TYPE5_HPP_
#define ARM_CONTROL__ARM_ACTION_TYPE5_HPP_

#include "arm_control/arm_action_base.hpp"
#include <moveit/move_group_interface/move_group_interface.h>
#include <std_msgs/msg/int32.hpp>

namespace arm_control
{

// 动作类型5：左臂移动到扫码位置
class ArmActionType5 : public ArmActionBase
{
public:
  explicit ArmActionType5(rclcpp::Logger logger, rclcpp::Node::SharedPtr node);
  
  void execute(
    const std::shared_ptr<GoalHandleARM> goal_handle,
    std::shared_ptr<ARM::Feedback> feedback,
    std::shared_ptr<ARM::Result> result) override;

private:
  rclcpp::Node::SharedPtr node_;
  std::shared_ptr<moveit::planning_interface::MoveGroupInterface> move_group_left_;
  rclcpp::Publisher<std_msgs::msg::Int32>::SharedPtr zhuazi_left_publisher_;
};

} // namespace arm_control

#endif // ARM_CONTROL__ARM_ACTION_TYPE5_HPP_

